Gesture Recognizer
概要
code:swift
@IBAction func myActionMethod()
@IBAction func myActionMethod(_ sender: UIGestureRecognizer)
タッチ情報送信のキャンセル
タッチ情報送信の遅延
タッチが行われ、タッチ情報が Gesture Recognizer によってジェスチャーとして検知されるまでの間に、ジェスチャーとして検知されていない状態のタッチ情報の送信を遅延させることができる。これらは Gesture Recognizer 側の delaysTouchesBegan, delaysTouchesEnded で設定でき、デフォルトだと後者がオフ、前者はオンになっている。この設定がオフだと、ジェスチャーが検知されるまでタッチ情報は View に送信され続け、ジェスチャー検知時点で送信がキャンセルされ情報が送信されなくなる。一方でこの設定がオンだと、ジェスチャーの検知が終了、すなわちそのタッチ動作がジェスチャーかどうか決定するまで、タッチ情報の送信が遅延される。 例えば delaysTouchesBegan がオンであり、Gesture Recognizer がパン動作 (ドラッグ) を検知するとする。この場合、シングルタップをした上で画面に指を乗せたままだと、そのあとパン動作が行われるかもしれないので、この時点ではジェスチャーかどうか検知できない。この場合、このタイミングでは View にタッチ情報は送信されない。そして、そのまま指が画面から離されると、もうパン動作はできないので、そこで初めてタッチ情報が View に送信される。設定がオフの場合には、タッチ時点でタッチ情報が View に送信され、遅延はない。 サブクラス化
UIGestureRecognizerSubclass.h ヘッダをインポートすべき
詳しくは割愛
Delegate
その他
下記の公式ドキュメントが充実している。